﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Crosland.Automotriz.Logic.Linq;
using Crosland.Automotriz.Entidad;
using System.Configuration;

namespace Crosland.Automotriz.Web.Vehiculos
{
    public partial class wFrmControlObsequios : System.Web.UI.Page
    {
        string idNegocio = ConfigurationManager.AppSettings["Negocio"];

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == false) 
            {
                ListarOfertas();
                deFechaEntrega.Value = DateTime.Now;
                Panel img = (Panel)Master.FindControl("asp");
                img.Visible = false;
                Panel img2 = (Panel)Master.FindControl("pnlTop");
                img2.Visible = false;
            }
            Listar();
        }

        void Listar() 
        {

            int FechaInicio = int.Parse(DateTime.Parse(lblFechaInicio.Text).Year.ToString("0000") + DateTime.Parse(lblFechaInicio.Text).Month.ToString("00") + DateTime.Parse(lblFechaInicio.Text).Day.ToString("00"));
            int FechaFin = int.Parse(DateTime.Parse(lblFechaFinal.Text).Year.ToString("0000") + DateTime.Parse(lblFechaFinal.Text).Month.ToString("00") + DateTime.Parse(lblFechaFinal.Text).Day.ToString("00"));

            int ID_CLIENTE = int.Parse(Request.QueryString["cli"]);
            clsT_VEN_VEHICULOS_OBSEQUIOSBL neg = new clsT_VEN_VEHICULOS_OBSEQUIOSBL();
            List<T_VEN_VEHICULOS_OBSEQUIOS_RESULT> lista = new List<T_VEN_VEHICULOS_OBSEQUIOS_RESULT>();
            lista = neg.Listar(FechaInicio, FechaFin, ID_CLIENTE);
            gv.DataSource = lista;
            gv.DataBind();
        }

        void ListarOfertas()
        {
            clsT_VEN_CONTROL_ENTREGABL neg = new clsT_VEN_CONTROL_ENTREGABL();
            List<T_VEN_CONTROL_ENTREGA> ent = new List<T_VEN_CONTROL_ENTREGA>();
            ent = neg.Listar();
            cboOferta.DataSource = ent;
            cboOferta.TextField = "DESCRIPCION";
            cboOferta.ValueField = "ID_VEN_CONTROL_ENTREGA";
            cboOferta.DataBind();
            cboOferta.SelectedIndex = 1;
            MostrarRangoFechas();
        }

        void MostrarRangoFechas()
        {
            int ID_VEN_CONTROL_ENTREGA = int.Parse(cboOferta.Value.ToString());
            clsT_VEN_CONTROL_ENTREGABL neg = new clsT_VEN_CONTROL_ENTREGABL();
            T_VEN_CONTROL_ENTREGA ent = new T_VEN_CONTROL_ENTREGA();
            ent = neg.Seleccionar(ID_VEN_CONTROL_ENTREGA);

            string anio_ini = ent.ANIO_INI.ToString("0000");
            string anio_fin = ent.ANIO_FIN.ToString("0000");

            string mes_ini = ent.MES_INI.ToString("00");
            string mes_fin = ent.MES_FIN.ToString("00");

            string dia_ini = ent.DIA_INI.ToString("00");
            string dia_fin = ent.DIA_FIN.ToString("00");

            lblFechaInicio.Text = dia_ini + "/" + mes_ini + "/" + anio_ini;
            lblFechaFinal.Text = dia_fin + "/" + mes_fin + "/" + anio_fin;
        }

        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            Listar();
        }

        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            clsT_VEN_VEHICULOS_OBSEQUIOSBL neg = new clsT_VEN_VEHICULOS_OBSEQUIOSBL();

            if (Session["User"] != null)
            {
                string ID_USUARIO = Session["User"].ToString();
                int indice = gv.FocusedRowIndex;
                if (indice >= 0)
                {
                    string ID = gv.GetRowValues(indice, "ID").ToString();
                    string[] array = ID.Split(char.Parse("|"));
                    int NRO_FACTURA = int.Parse(array[0]);
                    int NRO_POSICION = int.Parse(array[1]);
                    T_VEN_VEHICULOS_OBSEQUIOS entSelect = new T_VEN_VEHICULOS_OBSEQUIOS();
                    List<T_VEN_VEHICULOS_OBSEQUIOS> listaSelect = new List<T_VEN_VEHICULOS_OBSEQUIOS>();
                    entSelect.NRO_FACTURA = NRO_FACTURA;
                    entSelect.NRO_POSICION = NRO_POSICION;
                    listaSelect = neg.Seleccionar(entSelect);
                    if (listaSelect != null)
                    {
                        if (listaSelect.Count > 0)
                        {
                            //actualizar
                            T_VEN_VEHICULOS_OBSEQUIOS ent = new T_VEN_VEHICULOS_OBSEQUIOS();
                            ent.NRO_FACTURA = NRO_FACTURA;
                            ent.NRO_POSICION = NRO_POSICION;
                            ent.DES_COMENTARIO = txtObs.Text.ToUpper();
                            ent.FEC_ENTREGA = DateTime.Parse(deFechaEntrega.Value.ToString());
                            neg.Actualizar(ent);
                        }
                        else 
                        {
                            //Insertar
                            T_VEN_VEHICULOS_OBSEQUIOS ent = new T_VEN_VEHICULOS_OBSEQUIOS();
                            ent.NRO_FACTURA = NRO_FACTURA;
                            ent.NRO_POSICION = NRO_POSICION;
                            ent.DES_COMENTARIO = txtObs.Text.ToUpper();
                            ent.FEC_ENTREGA = DateTime.Parse(deFechaEntrega.Value.ToString());
                            ent.ID_USUARIO_REGISTRA = ID_USUARIO;
                            ent.IND_ACTIVO = true;
                            neg.Insertar(ent);
                        }
                    }
                    deFechaEntrega.Value = DateTime.Now;
                    txtObs.Text = "";
                    ASPxPopupControl1.ShowOnPageLoad = false;
                    Listar();
                }
            }
        }

        protected void btnEditar_Click(object sender, EventArgs e)
        {
            clsT_VEN_VEHICULOS_OBSEQUIOSBL neg = new clsT_VEN_VEHICULOS_OBSEQUIOSBL();

            ASPxPopupControl1.ShowOnPageLoad = true;
            //Validar existencia
            int indice = gv.FocusedRowIndex;
            if (indice >= 0)
            {
                string ID = gv.GetRowValues(indice, "ID").ToString();
                string[] array = ID.Split(char.Parse("|"));
                int NRO_FACTURA = int.Parse(array[0]);
                int NRO_POSICION = int.Parse(array[1]);
                T_VEN_VEHICULOS_OBSEQUIOS entSelect = new T_VEN_VEHICULOS_OBSEQUIOS();
                List<T_VEN_VEHICULOS_OBSEQUIOS> listaSelect = new List<T_VEN_VEHICULOS_OBSEQUIOS>();
                entSelect.NRO_FACTURA = NRO_FACTURA;
                entSelect.NRO_POSICION = NRO_POSICION;
                listaSelect = neg.Seleccionar(entSelect);
                if (listaSelect != null)
                {
                    if (listaSelect.Count > 0)
                    {
                        deFechaEntrega.Value = listaSelect[0].FEC_ENTREGA;
                        txtObs.Text = listaSelect[0].DES_COMENTARIO;
                        btnGrabar.Enabled = false;
                        deFechaEntrega.Enabled = false;
                        txtObs.Enabled = false;
                    }
                    else 
                    {
                        deFechaEntrega.Value = DateTime.Now;
                        txtObs.Text = "";
                        btnGrabar.Enabled = true;
                        deFechaEntrega.Enabled = true;
                        txtObs.Enabled = true;
                    }
                }
                else
                {
                    deFechaEntrega.Value = DateTime.Now;
                    txtObs.Text = "";
                    btnGrabar.Enabled = true;
                    deFechaEntrega.Enabled = true;
                    txtObs.Enabled = true;
                }
            }
        }

        protected void btnModificar_Click(object sender, EventArgs e)
        {
            clsT_VEN_VEHICULOS_OBSEQUIOSBL neg = new clsT_VEN_VEHICULOS_OBSEQUIOSBL();
            
            //Validar existencia
            int indice = gv.FocusedRowIndex;
            if (indice >= 0)
            {
                string ID = gv.GetRowValues(indice, "ID").ToString();
                string[] array = ID.Split(char.Parse("|"));
                int NRO_FACTURA = int.Parse(array[0]);
                int NRO_POSICION = int.Parse(array[1]);
                T_VEN_VEHICULOS_OBSEQUIOS entSelect = new T_VEN_VEHICULOS_OBSEQUIOS();
                List<T_VEN_VEHICULOS_OBSEQUIOS> listaSelect = new List<T_VEN_VEHICULOS_OBSEQUIOS>();
                entSelect.NRO_FACTURA = NRO_FACTURA;
                entSelect.NRO_POSICION = NRO_POSICION;
                listaSelect = neg.Seleccionar(entSelect);
                if (listaSelect != null)
                {
                    if (listaSelect.Count > 0)
                    {
                        deFechaEntrega.Value = listaSelect[0].FEC_ENTREGA;
                        txtObs.Text = listaSelect[0].DES_COMENTARIO;
                        btnGrabar.Enabled = true;
                        deFechaEntrega.Enabled = true;
                        txtObs.Enabled = true;
                        ASPxPopupControl1.ShowOnPageLoad = true;
                    }
                    else
                    {

                        
                    }
                }
                else
                {

                }
            }
        }

        protected void cboOferta_SelectedIndexChanged(object sender, EventArgs e)
        {
            MostrarRangoFechas();
        }
    }
}